package com.oyjd.ybx.business.classify.service;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;

import com.oyjd.ybx.bean.vo.ClassifyVO;
import com.oyjd.ybx.fw.action.Page;

/**
 * 
 * 商品分类业务接口
 * 
 * @author <b>欧建东<br/>
 *         Email:oyjd@163.com</b>
 * @version 1.0
 */
public interface ClassifyService {
	/**
	 * 获取商品分类列表数据
	 * 
	 * @param page
	 *            页面对象
	 * @return
	 */
	Page<ClassifyVO> getList(Page<ClassifyVO> page);

	/**
	 * 根据ID获取商品分类对象信息
	 * 
	 * @param id
	 *            ID
	 * @return
	 */
	ClassifyVO getClassifyVO(String classId);

	/**
	 * 增加商品分类
	 * 
	 * @param className
	 *            分类名称
	 * @param pid
	 *            父分类
	 */
	void add(String className, String pid);

	/**
	 * 修改商品分类
	 * 
	 * @param classId
	 *            分类ID
	 * @param className
	 *            分类名称
	 */
	void edit(String classId, String className);

	/**
	 * 删除商品分类
	 * 
	 * @param id
	 *            ID
	 * @return
	 */
	boolean remove(String id);

	/**
	 * 获取树结构数据
	 * 
	 * @return
	 */
	JSONArray getTypeTree();

	/**
	 * 获取类型下拉选择数据
	 * 
	 * @param id
	 *            选择的大类
	 * @return
	 */
	List<ClassifyVO> getSelectType(String id);

	/**
	 * 获取大类下的二级菜单
	 * 
	 * @param id
	 *            选择的大类
	 * @return
	 */
	List<ClassifyVO> getLevel2(String id);

	/**
	 * 前端获取分类树
	 * 
	 * @param id
	 * @return
	 */
	Map<ClassifyVO, Map<ClassifyVO, List<ClassifyVO>>> getFrontClass();

	/**
	 * 前端Map树查询数据库获取数据方法
	 */
	void getFrontClassByDb();

}
